#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui/QMainWindow>
#include <QVector>
#include <QTimer>
#include <QFile>
#include <QStandardItemModel>
#include <QTextStream>
#include <vector>


#include "myplot.h"
#include "quanser.h"
#include "pid.h"
#include "calculateindices.h"
#include "identificacao.h"
#include "sintonia.h"
#include "Opc/CustomOpc.h"




namespace Ui
{
    class MainWindowClass;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
    static myPlot *qwtPlotValid;
    static myPlot *qwtPlotInd;
    static myPlot *qwtPlotSintonia;



    static double LevelTank1,LevelTank2;
    static bool isConnected;
    static void simTanks(double u);
    int intCont;
    double freq;
    void setSpinBoxController(double kp, double ti, double td);
    void setSpinBoxSintonia();
    void setParamFODT();

public slots:
    void updateTanks2();
    void slotStartIndices();
    void setVisibleCurves();
    void endCalculateIndicesSlot();
    void setController();
    void getControlParams();
    void stopAutSlot();
    void saveGraph();

    void slotStartIdentify();
    void slotDefineTuning();
    void endIdentifySlot();
    void slotChangeSetPoint(double);

private:
    Ui::MainWindowClass *ui;

signals:
    void startIndices(int);
    void startIdentify(int);
    void cancelIdentify();
};

#endif // MAINWINDOW_H
